Except petroleum, electric power is the most important power resource in daily life. Almost every household appliance requires electricity to operate, such as lighting, TV, air conditioner, etc. But before any breakthrough on exploring new power source that is more efficient and economic is made, the best measure is to reduce power consumption. For example, power consumption of desktops or notebooks is one of major concerns of R&D staffs and users, especially for notebooks. Besides improvement of battery capacity, another way is to develop more power-saving notebooks.
To improve power efficiency, computer systems such as desktops or notebooks are provided with power management systems. The most commonly seen is ACPI (Advanced Configuration and Power Interface). The power states defined by the ACPI include: Global system state, Sleeping state, Device power state and Processor power state. Global system state defines the overall power state of the computer system. Sleeping state defines various power saving states when computer system has few loading. Device power state defines various power states of the peripheral devices in the computer system. Processor power state defines power levels of the CPU (central processing unit). There are four states defined in Processor power state: C0, C1, C2 and C3. According to the working status of the CPU, the operating system drives the CPU to enter into the proper power state.
C0 state is the normal processing state. In C0 state, the CPU executes instructions in normal. C1, C2, and C3 states are different levels of power-saving states, known as sleeping states. It takes the shortest time for the CPU to wake up from a halt state (C1) and resume full performance to C0 state. Different to C1 state, C2 state is more power saving and the CPU only executes part of functions in this state, such as snooping function. In C2 state, the CPU can still snoop bus master requests and further process these requests so that the peripheral devices of the computer system can access data in the memory. In C3 state, the CPU is almost turned off without any loading. Therefore it's the most power saving state.
Refer to FIG. 1, which illustrates a state transfer diagram of prior-art ACPI. When the CPU is in C1, C2 or C3 state and the system chip receives an interrupt from the peripheral device, the CPU returns back to C0 state to process the interrupt. Moreover, when the CPU is in C3 state, once the peripheral device issues a bus master request, the CPU also returns back to C0 state to process the bus master request. That is because C3 state is a sleeping state without snooping function. The CPU needs to wake up from C3 state and return back to C0 state for snooping events so as to process the bus master request. Otherwise, the peripheral devices can not access data inside the memory.
After the bus master request is completed, the CPU needs to stay in C0 state until the conditions for entering C3 state are satisfied. Then the operating system drives the CPU returning to C3 state. However, while in C2 state, the CPU is able to snoop the bus master request. Thus the conventional way of returning back to C0 state for processing the bus master request makes the CPU consume more power.